package com.winning.dps.ds.service.common;

import common.entity.*;

import java.util.List;
import java.util.Map;

/**
 * @program: plat
 * @description:
 * @author: nxs
 * @create: 2018-07-05 17:25
 **/
public interface CommonApiService {


    //机构树形列表
    List<TreeEntity> findJgTree(Map<String,Object> queryParams);

    //质控机构树形列表
    List<TreeEntity> findZkJgTree(Map<String,Object> queryParams);

    List<TreeEntity> findZcjgTree(Map<String,Object> queryParams);

    List<TreeEntity> findjgtreeByPid(Map<String,Object> queryParams);

    //机构详情
    SysZcjgEntity getJgInfo(String jgdm);

    //数据元值域目录详情
    List<SysSjyzymlEntity> sysSjyzymlInfo(String zydm);

    //数据元值域目录详情
    SysSjyzymlEntity sysSjyzymlObject(String zydm,String zdm);

    //查询系统应用
    List<SysYyzcEntity>  queryApplication();

    //获取当前操作人员角色权限
    List<SysCzjsQxEntity> getCzryqx(String jgbm, String zclsh, String yydm);


    //根据机构编码 获取 下级机构
    List<SysZcjgEntity> getSubJg(String jgdm);


    //全局参数
    SysQjcsEntity queryQjcs(String csbm);

    //index全局参数
    SysQjcsEntity queryIndexQjcs(String csbm);

    /**
     * @Author zhanglei
     * @Description 将文件保存到数据库
     * @Date 11:40 2019/4/16
     * @Param [tableName, colName, fileStr]
     * @return void
     **/
    void saveFileToDb(String tableName, String colName, byte[] bytes, String id, String idValue);

    //全局参数
     SysQjcsEntity queryCsbm(String csbm);

    //根据用户名，查询系统用户
    SysUserEntity queryByUserName(String username);

    /**
     * 查询结构列表
     */
    List<SysEsbZcjgEntity> list(String jgbm);

    /**
     * 条件查询机构
     * @param map
     * @return
     */
    List<SysEsbZcjgEntity> getAllJg(Map map);

    /**
     * 判断当前系统是区域还是医院获取对应的数据标准编码
     * @return
     */
    String getYwcjSjbzbm();

    SysEsbZcjgEntity getEsbJgInfo(String jgbm);

    boolean judgeWjjYy(String jgbm);

    //查询质控库zcjg数量
    Integer queryZkjgCount();

    //查询质控库全局参数数量
    Integer queryZkcsCount();

    /**
     * description 获取数据标准树形结构
     * @author yanxf@winning.com.cn
     * @date 2022/5/16 17:42
     */
    List<TreeEntity> findSjbzTree();


    String findYljgdmByUser(String jgbm);


}
